The disclosed subject matter relates generally to optimizing data dissemination in a communication environment, and, more particularly, to a system and method for dynamically controlling the data dissemination flow rates and mappings in a multicasting system.
Multicasting environments provide means to disseminate content related to a great variety of topics to multitudes of subscribers. The content of each topic is delivered over an information flow, where each flow is associated with one or more multicast groups. Multicast groups may be deployed over systems with finite resources. Thus, the number of flows may be considerably larger than the number of groups with multiple flows transmitted over a single group. To manage the relationships between flows and groups, a mapping scheme is used.
Referring to FIG. 1, as an example, flows F1, F2, . . . , FK are mapped to multicast groups G1, G2, . . . , GM in order to be transmitted to multiple users U1, U2, . . . , UN, according to the users' interest and subscriptions to different flows. In a large-scale multicast system, the rate of flows will likely vary during deployment. Since each user has a limited reception rate capacity, the rate of each flow may be adjusted and controlled so that users' capacity constraints are not violated both during a fixed mapping of flows to groups and following a change in flow to group mapping.
Setting the rate limits of different flows typically depends on dynamic factors such as the current mapping, users' reception rate capacities, flow priorities and flow rate profiles. Some of these factors are affected by remapping which occurs for example due to change in interests and change of flows rates. Since a multicast system continually evolves due to changes in user subscription and system resources, the flow mappings and flow rates continuously require adjustment. As the adjustments take place, it is important for the system to remain optimized.